
"ui";
importClass(org.opencv.imgcodecs.Imgcodecs);//导入opencv的包
const tool = require('./tool.js');
const car = require('./car.js');
const catHelp = require('./farm.js');


ui.layout(
    <vertical h="4000">
        <horizontal>
            <text text="合成时间(秒)" />
            <input id="manualHbTime" inputType="number" gravity="center" w="80" text="5" />
        </horizontal>
        <horizontal>
            <text text="买猫最长时间(秒)" />
            <input id="buyCatTime" inputType="number" gravity="center" w="80" text="3" />
        </horizontal>
        <horizontal>
            <text text="广告页面的关键字" w='65'/>
            <input id="videoKeys" inputType='textMultiLine'  h="auto" text="观看完整,完整视频,反馈, 跳过, 点击图标, 扭动手机, 任务已完成, 秒后发放, 立即体验, 立即下载, 获得现金, 了解更多, 可领取奖励, 点击安装,继续观看" />
        </horizontal>

        <horizontal>
            <text text="进入广告弹窗的关键字" w='65'/>
            <input id="enterVideoDialog" inputType='textMultiLine'  h="auto" text="得大量爱心,加速修复,驱逐年兽,可获得大量奖励,离开的这段时间,小青蛙的礼物,免费领取,所有猫猫凑齐的爱心,持续时间,收养它吧,立即收养,收养小猫" />
        </horizontal>

        <horizontal>
            <text text="允许关闭的弹窗关键字"  w='65'/>
            <input id="hasOpenCloseDialog" inputType='textMultiLine' h="auto" text="继续升级,'禁止',确定,开心收下,取消,当前猫舍等级,放弃福利,跳过,拒绝,返回,继续观看" />
        </horizontal>


        <horizontal>
            <Switch id="isOpenConsole" text="控制台" gravity="center" w="100" h="20" />
            <Switch id="debugMode" text="调试模式" gravity="center" w="130" h="20" />
        </horizontal>
        {/* <horizontal visibility="gone" > */}
        <horizontal>
            <text text="卡密" />
            <input id="keygen" w="200" text="" />
        </horizontal>
        <horizontal>
            <button id="saveParam" text="保存" />
            <button id="start" text="开始" />
        </horizontal>
    </vertical>
);


//开始
ui.start.click(function () {
    threads.start(function () {
        if (!car.checkCar()) {
            return
        }
        let params = collectParameters()
        tool.init(params)
        catHelp.main(params)
    });
});


//保存
ui.saveParam.click(function () {
    confirm("确认要保存吗?")
        .then(clear => {
            if (clear) {
                car.updateCardInfo(collectParameters())
            }
        });
})


//收集参数
function collectParameters () {
    var params = car.readConfig()
    //合成时间(秒)
    params.manualHbTime = ui.manualHbTime.text()
    //买猫时间
    params.buyCatTime = ui.buyCatTime.text()
    //广告页面的关键字
    params.videoKeys = ui.videoKeys.text()
    //进入广告弹窗的关键字
    params.enterVideoDialog = ui.enterVideoDialog.text()
    //允许关闭的弹窗关键字
    params.hasOpenCloseDialog = ui.hasOpenCloseDialog.text()
    //卡密
    params.keygen = ui.keygen.text()
    //控制台开关
    params.isOpenConsole = ui.isOpenConsole.checked;
    //调试模式开关
    params.debugMode = ui.debugMode.checked;
    return params
}


//初始化配置数据
function initParameters () {
    try {
        //读取配置文件
        let params = car.readConfig()

        //合成时间(秒)
        if (params.manualHbTime !== "" && params.manualHbTime !== undefined && params.manualHbTime !== null) {
            ui.manualHbTime.text(params.manualHbTime)
        }
        //买猫时间
        if (params.buyCatTime !== "" && params.buyCatTime !== undefined && params.buyCatTime !== null) {
            ui.buyCatTime.text(params.buyCatTime)
        }
        //广告页面的关键字
        if (params.videoKeys !== "" && params.videoKeys !== undefined && params.videoKeys !== null) {
            ui.videoKeys.text(params.videoKeys)
        }
        //进入广告弹窗的关键字
        if (params.enterVideoDialog !== "" && params.enterVideoDialog !== undefined && params.enterVideoDialog !== null) {
            ui.enterVideoDialog.text(params.enterVideoDialog)
        }


        //允许关闭的弹窗关键字
        if (params.hasOpenCloseDialog !== "" && params.hasOpenCloseDialog !== undefined && params.hasOpenCloseDialog !== null) {
            ui.hasOpenCloseDialog.text(params.hasOpenCloseDialog)
        }

        //卡密
        if (params.keygen !== "" && params.keygen !== undefined && params.keygen !== null) {
            ui.keygen.text(params.keygen)
        }

        // 控制台
        if (params.isOpenConsole !== "" && params.isOpenConsole !== undefined && params.isOpenConsole !== null) {
            ui.isOpenConsole.setChecked(params.isOpenConsole)
        }
        //调试模式
        if (params.debugMode !== "" && params.debugMode !== undefined && params.debugMode !== null) {
            ui.debugMode.setChecked(params.debugMode)
        }

        return params
    } catch (e) {
        console.log("读取参数异常:" + e)
    }
}

//初始化配置数据
function initParameters () {
    try {
        //读取配置文件
        let params = car.readConfig()

        //合成时间(秒)
        if (params.manualHbTime !== "" && params.manualHbTime !== undefined && params.manualHbTime !== null) {
            ui.manualHbTime.text(params.manualHbTime)
        }
        //买猫时间
        if (params.buyCatTime !== "" && params.buyCatTime !== undefined && params.buyCatTime !== null) {
            ui.buyCatTime.text(params.buyCatTime)
        }
        //广告页面的关键字
        if (params.videoKeys !== "" && params.videoKeys !== undefined && params.videoKeys !== null) {
            ui.videoKeys.text(params.videoKeys)
        }

        //进入广告弹窗的关键字
        if (params.enterVideoDialog !== "" && params.enterVideoDialog !== undefined && params.enterVideoDialog !== null) {
            ui.enterVideoDialog.text(params.enterVideoDialog)
        }

        //允许关闭的弹窗关键字
        if (params.hasOpenCloseDialog !== "" && params.hasOpenCloseDialog !== undefined && params.hasOpenCloseDialog !== null) {
            ui.hasOpenCloseDialog.text(params.hasOpenCloseDialog)
        }

        //卡密
        if (params.keygen !== "" && params.keygen !== undefined && params.keygen !== null) {
            ui.keygen.text(params.keygen)
        }

        // 控制台
        if (params.isOpenConsole !== "" && params.isOpenConsole !== undefined && params.isOpenConsole !== null) {
            ui.isOpenConsole.setChecked(params.isOpenConsole)
        }
        //调试模式
        if (params.debugMode !== "" && params.debugMode !== undefined && params.debugMode !== null) {
            ui.debugMode.setChecked(params.debugMode)
        }

        return params
    } catch (e) {
        console.log("读取参数异常:" + e)
    }
}

initParameters()